The present invention relates to methods and apparatus for displaying images, and more particularly, to methods and apparatus for detecting and/or compensating for color errors in images intended to be displayed using multiple displaced portions of an output device, e.g., liquid crystal display.
Color display devices have become the principal display devices of choice for most computer users. The display of color on a monitor is normally achieved by operating the display device to emit light, e.g., a combination of red, green, and blue light, which results in one or more colors being perceived by a human viewer.
In cathode ray tube (CRT) display devices, the different colors of light are generated via the use of phosphor coatings which may be applied as dots in a sequence on the screen of the CRT. A different phosphor coating is normally used to generate each of the three colors, red, green, and blue resulting in repeating sequences of phosphor dots which, when excited by a beam of electrons will generate the colors red, green and blue.
The term pixel is commonly used to refer to one spot in, e.g., a rectangular grid of thousands of such spots. The spots are individually used by a computer to form an image on the display device.
In color displays, the intensity of the light emitted corresponding to the additive primary colors, red, green and blue, can be varied to get the appearance of almost any desired color pixel. Adding no color, i.e., emitting no light, produces a black pixel. Adding 100 percent of all three colors results in white.
FIG. 1 illustrates a known portable computer 100, which comprises a housing 101, a disk drive 105, keyboard 104 and a flat panel display 102.
Portable personal computers 100 tend to use liquid crystal displays (LCD) or other flat panel display devices 102, as opposed to CRT displays. This is because flat panel displays tend to be small and lightweight as compared to CRT displays. In addition, flat panel displays tend to consume less power than comparable sized CRT displays making them better suited for battery powered applications than CRT displays.
As the quality of flat panel color displays continues to increase and their cost decreases, flat panel displays are beginning to replace CRT displays in desktop applications. Accordingly, flat panel displays, and LCDs in particular, are becoming ever more common.
Color LCD displays are exemplary of display devices which utilize multiple distinctly addressable elements, referred to herein as pixel sub-elements or pixel sub-components, to represent each pixel of an image being displayed. Normally, each pixel on a color LCD display is represented by a set of pixel sub-components which usually comprises three non-square elements, i.e., red, green and blue (RGB) pixel sub-components. Thus, in such systems, a set of RGB pixel sub-components together make up a single pixel. In the patent applications cited in the related applications section set forth above, a set of R, G, B pixel sub-components which comprise a pixel, was sometimes referred to as a pixel element.
LCD displays, of one known type commonly used in computer systems, comprise sets of RGB pixel sub-components which are used to represent pixels. In such systems, the RGB pixel sub-components are commonly arranged to form stripes along the display. The RGB stripes normally run the entire length of the display in one direction. The resulting RGB stripes are sometimes referred to as xe2x80x9cRGB stripingxe2x80x9d. Common LCD monitors used for computer applications, which are wider than they are tall, tend to have RGB stripes running in the vertical direction.
FIG. 2A illustrates a known LCD screen 200 comprising a plurality of rows (R1-R12) and columns (C1-C16) which may be used as the display 102. Each row/column intersection forms a square which represents one pixel. FIG. 2B illustrates the upper left hand portion of the known display 200 in greater detail.
Note in FIG. 2B how each pixel element, e.g., the (R2, C1) pixel element, comprises three distinct sub-elements or sub-components, a red sub-component 206, a green sub-component 207 and a blue sub-component 208. Each known pixel sub-component 206, 207, 208 is ⅓ or approximately ⅓ the width of a pixel while being equal, or approximately equal, in height to the height of a pixel. Thus, when combined, the three ⅓ width pixel sub-components 206, 207, 208 form a single pixel element.
As illustrated in FIG. 2A, one known arrangement of RGB pixel sub-components 206, 207, 208 form what appear to be vertical color stripes down the display 200. Accordingly, the arrangement of ⅓ width color sub-components 206, 207, 208, in the known manner illustrated in FIGS. 2A and 2B, is sometimes called xe2x80x9cvertical stripingxe2x80x9d.
While only 12 rows and 16 columns are shown in FIG. 2A for purposes of illustration, common columnxc3x97row ratios include, e.g., 640xc3x97480, 800xc3x97600, and 1024xc3x97768.
LCDs are manufactured with pixel sub-components arranged in several additional patterns including, e.g., zig-zags and a delta pattern common in camcorder view finders. While features of the present invention can be used with such pixel sub-component arrangements, since the RGB striping configuration is more common, the exemplary embodiments of the present invention will be explained in the context of using RGB striped displays.
Traditionally, each set of pixel sub-components for a pixel is treated as a single pixel unit. Accordingly, in most known systems luminous intensity values for all the pixel sub-components of a pixel are generated from the same portion of an image. Consider for example, the image represented by the grid 220 illustrated in FIG. 2C. In FIG. 2C each square represents an area of an image which is to be represented by a single pixel, e.g., a red, green and blue pixel sub-component of the corresponding square of the grid 230. In FIG. 2C a shaded circle is used to represent a single image sample from which luminous intensity values are generated. Note how a single sample 222 of the image 220 is used in known systems to generate the luminous intensity values for each of the red, green, and blue pixel sub-components 232, 233, 234. Thus, in such known systems, the RGB pixel sub-components are generally used as a group to generate a single colored pixel corresponding to a single sample of the image to be represented.
The light from each pixel sub-component group effectively adds together to create the effect of a single color whose hue, saturation, and intensity depends on the luminous intensity value of each of the three pixel sub-components. Say, for example, each pixel sub-component has a potential luminous intensity of between 0 and 255. If all three pixel sub-components are given 255 intensity, the pixel will be perceived as being white. However, if all three pixel sub-components are given a value turning off each of the three pixel sub-components, e.g., a value 0, the pixel will be perceived as black. By varying the respective intensities of each pixel sub-component, it is possible to generate millions of colors in between these two extremes.
Since, in the known system a single sample is mapped to a triple of pixel sub-components which are each ⅓ of a pixel in width, spatial displacement of the left and right pixel sub-components occurs since the centers of these elements are ⅓ from the center of the sample.
Consider for example that an image to be represented was a red cube with green and blue components equal to zero. As a result of the displacement between the sample and green image sub-component, when displayed on an LCD display of the type illustrated in FIG. 2A, the apparent position of the cube on the display will be shifted ⅓ of a pixel to the left of its actual position. Similarly, a blue cube would appear to be displaced ⅓ of a pixel to the right. Thus, known imaging techniques used with LCD screens can result in undesirable image displacement errors.
Text characters represent one type of image which is particularly difficult to accurately display given typical flat panel display resolutions of 72 or 96 dots (pixels) per inch (dpi). Such display resolutions are far lower than the 600 dpi supported by most printers and the even higher resolutions found in most commercially printed text such as books and magazines.
Because of the relatively low display resolution of most video display devices, not enough pixels are available to draw smooth character shapes, especially at common text sizes of 10, 12, and 14 point type. At such common text rendering sizes, gradations between different sizes and weights, e.g., the thickness, of the same typeface, are far coarser than their print equivalent.
The relatively coarse size of standard pixels tends to create aliasing effects which give displayed type characters jagged edges. For example, the coarse size of pixels tends to result in the squaring off of serifs, the short lines or ornaments at the ends, e.g., bottom, of strokes which form a typeface character. This makes it difficult to accurately display many highly readable or ornamental typefaces which tend to use serifs extensively.
Such problems are particularly noticeable in the stems, e.g., thin vertical portions, of characters. Because pixels are the minimum display unit of conventional monitors, it is not possible to display stems of characters using conventional techniques with less than one pixel stem weight. Furthermore, in such systems stem weight can only be increased a pixel at a time. Thus, stem weights leap from one to two pixels wide. Often one pixel wide character stems are too light, while two pixel wide character stems are too bold. Since creating a boldface version of a typeface on a display screen for small characters involves, in such known systems, going from a stem weight of one pixel to two pixels, the difference in weight between the two is 100%. In print, bold might typically be only 20 or 30 percent heavier than its equivalent regular or Roman face.
Prior work in the field of displaying characters have focused, in part, on the development of anti-aliasing technologies designed to improve the display of characters on CRT displays. A commonly used anti-aliasing technique involves using shades of gray for pixels which include edges of the character. In effect, this smudges shapes, reducing spatial frequency of the edges but better approximating the intended character shapes. While known anti-aliasing techniques can significantly improve the quality of characters displayed on a CRT display device, many of these techniques are ineffective when applied to LCD display devices.
A further issue is that such anti-aliasing techniques work reasonably well on large sizes of text, but at the sizes most suited for human readingxe2x80x94typically between 8 and 13 pointsxe2x80x94they have the effect of blurring the text. For the human reader, the effect is similar to trying to read with someone else""s eyeglass prescription. The reader""s eye tries continually to focus an image which is inherently unfocusable. This leads quickly to eyestrain and fatigue, making conventional anti-aliasing unsatisfactory in cases for sustained reading.
In view of the above, it is apparent that there is a need for new and improved methods and apparatus for displaying text on flat panel display devices. It is desirable that at least some of the new methods be suitable for use with existing display devices and computers. It is also desirable that at least some methods and apparatus be directed to improving the quality of displayed text on new computers using, e.g., new display devices and/or new methods of displaying text.
While the display of text, which is a special case of graphics, is of major concern in many computer applications, there is also a need for improved methods and apparatus for displaying other graphics, geometric shapes, e.g., circles, squares, etc., and captured images such as photographs, accurately and clearly.
The present invention is directed to methods and apparatus for displaying images utilizing multiple distinct portions of an output device, e.g., an LCD display, to represent a single pixel of an image.
The inventors of the present application recognize the well-known principle that humans are much more sensitive to edges of luminance, where light intensity changes, than to edges of chrominance, where color intensity changes. This is why it is very difficult to read red text on a green background, for example. They also recognize the well-known principle that humans are not equally sensitive to the colors of red, green and blue. In fact, of 100 percent luminous intensity in a fully white pixel the red pixel sub-component contributes approximately 30% to the overall perceived luminance, green 60% and blue 10%.
In accordance with the present invention pixel sub-components which form a pixel are treated as separate luminous intensity sources. By utilizing pixel sub-components of a display to represent different portions of an image, greater resolution is achieved as compare to known displays where all the pixel sub-components of a pixel correspond to the same portion of an image. In the case of striped displays, the increase in effective resolution occurs in the dimension perpendicular to the direction of striping.
Treating pixel sub-components as distinct luminous intensity sources in accordance with the present invention may result in some degradation in chrominance quality as compared to known display techniques. Such degradation occurs as a result of using different image portions to determine the luminous intensity values of each pixel sub-component.
As discussed above humans are more sensitive to edges of luminance than of chrominance. Accordingly, the present invention can provide significant improvements in the quality of images, compared to known rendering techniques, even when taking into consideration the negative impact the techniques of the present invention may have on color quality.
As a result of treating RGB pixel sub-components as distinct luminous intensity sources, color fringing effects may be encountered. Various features of the present invention are directed to processing data, e.g., luminous intensity values, representing bitmapped images to detect color errors, e.g., color fringing effects. Color errors which are likely to be noticeable and/or distracting are of particular concern.
Various features of the present invention are directed to performing color processing operations on images to lessen or compensate for color errors which are likely to be noticeable and/or distracting to a viewer.
Foreground and background colors are used to display many images including, e.g., text. A foreground color pixel is achieved by using specific red, green and blue pixel sub-component luminous intensity values, RF, GF, BF for each of the red, green and blue pixel sub-components which make up a foreground color pixel. A background color pixel is achieved by using specific red, green and blue pixel sub-component luminous intensity values, RB, GB, BB for each of the red, green and blue pixel sub-components which make up a background color pixel.
In accordance with one color error detection method of the present invention, each pixel""s pixel sub-component luminous intensity values are compared to a range of luminous intensity values. The range of luminous intensity values to which a pixel sub-component""s luminous intensity value is compared is determined as a function of the foreground and background pixel sub-component luminous intensity values of a corresponding pixel sub-component.
In one particular implementation, red pixel sub-component luminous intensity values which fall outside the range of pixel sub-component luminous intensity values extending from RF to RB, and including RF and RB, are detected and considered color errors upon which a color correction or color error reduction operation should be performed. In order to reduce or correct such detected color errors, the red pixel sub-component luminous intensity value is adjusted so that it is closer to, or falls within, the range of values extending from RF to RB and including RF and RB. In one particular embodiment, the value of the red pixel sub-component is clamped, i.e., set to, the closer one of the values RF or RB when it is detected that the red pixel sub-component luminous intensity value is outside the range of luminous intensity values to which it is compared.
Potentially noticeable or significant color errors in green and blue pixel sub-components are detected and corrected in accordance with some embodiments, in the same manner as described above with regard to the red pixel sub-component luminous intensity value. However, when processing green pixel sub-component luminous intensity values, the green pixel sub-component luminous intensity values GF and GB are used in place of the RF and RB values discussed above. Accordingly, the luminous intensity values RF and RB are used to determine the range of luminous intensity values to which a red pixel sub-component luminous intensity value is compared. Similarly, when processing blue pixel sub-component luminous intensity values, the blue pixel sub-component luminous intensity values BF and BB are used in place of RF and RB. Thus, the luminous intensity values BF and BB are used to determine the range of luminous intensity values to which a blue pixel sub-component luminous intensity value is compared.
The above described color error detection and correction/compensation technique has the advantage of being relatively simple to implement while improving perceived image quality. In addition, it allows for the red, green and blue pixel sub-component values to be processed independently allowing for the detection and correction operations to be performed in parallel for different pixel sub-components of the same pixel or on only some of the pixel sub-components, e.g., the red and green sub-components.
While the color error detection and correction/compensation techniques of the present invention are described primarily in the context of striped displays, they can be applied to other display configurations where multiple pixel sub-components are used to represent a single pixel.
Numerous additional features, embodiments, and advantages of the methods and apparatus of the present invention are set forth in the detailed description which follows.